ブロックチェーンからデータを読み取るには、Sequence IndexerのUnityネイティブ実装を使用します。
ChainIndexer
クラス のインスタンスを作成することを推奨します。これにより、IIndexer
インターフェース が提供するすべての機能を利用できます。
Ping
非同期Taskで確認できます。リクエストが失敗する場合に役立ちます。開発中は、ステータスページ でもインデクサの稼働状況を確認できます。
GetEtherBalance
非同期Taskを使用します。
GetTokenBalances
非同期Taskを利用します。
GetTokenBalancesArgs
でコントラクトを指定してください。
GetTokenBalancesReturn
で受け取る Page
を確認し、続きがあればPageを含めて再度リクエストしてください。
GetTokenBalancesOrganizedInDictionary
というラッパーを用意しています。これにより、指定したcontractAddressとuserAccountAddressのすべてのTokenBalanceを取得し、tokenID(BigInteger)からTokenBalanceへのDictionaryとして整理します。通常はこちらを利用するのが便利です。
GetTokenSupplies
非同期Taskを利用できます。
GetTokenSupplies
を頻繁に利用する方向けに、複数のトークンコントラクトやトークンIDの供給量をマップ形式で取得できる GetTokenSuppliesMap
非同期Taskも提供しています。
suppliesMap[usdcAddress].Length = 1
となり、TokenSupplyオブジェクトはERC20トークンの供給量に対応します。
同様に、suppliesMap[skyweaverAddress].Length = 3
となり、TokenSupplyオブジェクトは指定したトークンIDの供給量に対応します。
GetTransactionHistory
メソッドを利用します。
TransactionHistoryFilter
オブジェクトを使うことで、アカウントアドレスやコントラクトアドレスなど、トランザクション履歴の絞り込み条件を指定できます。詳細はこちらをご覧ください。